const gulp = require('gulp')
const rename = require('gulp-rename') // 重命名插件
const sass = require('gulp-sass')(require('node-sass'))
const replace = require('gulp-replace')
const px2rpx = require('gulp-px2rpx')

function handleSass() {
  return gulp
    .src(['**/*.scss', '!**/node_modules{,/**}']) // 读取mp目录下的所有 .scss 文件
    .pipe(replace(/.scss/, '.wxss'))
    .pipe(sass().on('error', sass.logError)) // 使用 gulp-sass 插件转化
    .pipe(rename({ extname: '.wxss' })) // 将拓展名修改为 .wxss
    .pipe(
      px2rpx({
        screenWidth: 375, // 设计稿屏幕
        wxappScreenWidth: 750 // 微信小程序屏幕
      })
    )
    .pipe(gulp.dest('./')) // 导出到 mp 文件夹下
}

// watch 文件监听
// ignoreInitial: false，执行 gulp 命令之后立即更新文件
function watch() {
  gulp.watch(
    ['**/*.scss', '!**/node_modules{,/**}'],
    { ignoreInitial: false },
    handleSass
  )
}

exports.default = watch
